package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.impl.ProductCategoryImpl;
import com.shrcl.engineerprocess.domain.proxy.ProductCategoryProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

@EntityImplementation(implementBy = ProductCategoryImpl.class)
public interface ProductCategory extends IModelObject {
  public abstract String getBrand();
  
  public abstract ProductCategory setBrand(final String brand);
  
  public abstract String getProductName();
  
  public abstract ProductCategory setProductName(final String productName);
  
  public abstract void update(final Procedure1<? super ProductCategory> updater);
  
  public abstract void checkValid();
  
  public abstract ProductCategoryProxy toProxy();
}
